The Internet is a rapidly growing, world-wide network of computer systems. One reason for the current popularity of the Internet is electronic mail (email). Users can send and receive email messages to friends, family members, and business contacts around the nation and indeed the world within minutes. Furthermore, the World-Wide Web is another popular aspect of the Internet. The World-Wide Web features information stored in "home pages" or "web pages" in the form of text, graphics, audio, and even video files at various sites in the Internet. Web pages include links to other web pages, so that a user "surfing" the World-Wide Web with a "browser" application can easily visit related sites with a click of a button. Consequently, Internet service providers (ISPs) are deploying host computer systems sited on the Internet. These host computer systems coordinate the flow of email, provide storage for web pages, and enable users at a personal computer to connect with the Internet.
A lot has to happen, however, before a user can connect to the Internet. FIG. 4 depicts a typical Internet access network used by an Internet service provider to enable one of its customers to use the Internet. A user at a personal computer (PC), for example user PC 410a, executes locally resident network software to initiate a connection with an Internet service provider. When executed, the network software causes modem 412a to dial a predefined telephone number for the Internet service provider over a telephone line. The telephone call is routed by a central office telephone switch 420 to a network access server 430 belonging to the Internet service provider. The link between the central office telephone switch 420 can be a multiplexed line, such as a T1 line or a Primary Rate Interface (PRI) type ISDN link.
The network access server 430, also known as a "remote access server" (RAS), is a combination of a modem bank and a high-end router. The incoming telephone call is automatically directed to one of the modems (not separately shown) belonging to the network access server 430, typically assigned in a round-robin fashion. For example, the dial up number can be a lead number in a multi-line hunt group, so that a second, concurrent incoming telephone would be automatically "rolled over" to the next modem. In this manner the network access server 430 allows a plurality of users, for example at user PCs 410a, 410b, and 410c to access the Internet via modems 412a, 412b, and 412c, respectively.
Accordingly, one of the modems on the network access server 430 answers the telephone call and undergoes a modem handshaking procedure with the source modem 412a. When the modem handshaking is complete, the network access server 430 provides access to a host computer system 450 of the Internet service provider via a local area network 440 such as an Ethernet network. The host computer system 450, also referred to as "ISP host 450," is typically a mini-computer or high end PC running a multi-process operating system, such as the Unix.TM. operating system or the Windows NT.TM. operating system.
Many ISP hosts 450 are configured to use the "point-to-point protocol" (PPP) for communication with one of the user PCs 410. For PPP, each user PC is assigned an IP (Internet protocol) address for Internet communications. An IP address has four octets, each octet specifying a number from 0-255. When written in a human-readable format, the octets of an IP address are often separated by periods, for example, "10.1.1.1". As well known in the art, ISP hosts 450 can be configured to use other communications protocols such as SLIP (single-line Internet protocol).
Since the ISP host computer system 450 also has an IP address, the user PC 410a and the ISP host 450 can communicate with each other using standard Internet protocols specifying their IP addresses. For example, a user can download files from ISP host 450, e.g. text and graphics, or upload files to ISP host 450. These files can include computer programs, graphics, and documents. ISP host 450 has access to an Internet connection 460.
Some common Internet activities for users involve downloading a large number of files. For example, a user may wish to read news articles from news groups or bulletin board postings on Usenet. In this case, a user executes a "news reader" application, which coordinates the transfer of unread or otherwise desired articles from ISP host 450 or from a news server on Internet 460.
As another example, the user may wish to access home pages on the World Wide Web. In this case, the user executes a "browser," e.g. Navigator.TM. available from Netscape Communications Corp. or the Internet Explorer.TM. available from Microsoft Corp. The browser application coordinates the downloading of related files from ISP host 450 or other sites on the Internet 460. These files comprise text files, i.e. home pages coded in the HyperText Markup Language HTML, graphics files, commonly encoded in such formats as GIF or JPEG, audio files, and other kinds of files.
As the user base for the Internet increases, Internet service providers have to support a growing number of customers. Consequently, the performance and reliability of their network access servers 430 under peak demand times become crucial.
For example, some unreliable network access servers undergo a loss of throughput for a high number of calls. Other network access servers may lose throughput if one of the connected users is downloading a very large binary file (e.g. a 2 megabyte graphics file). Some can only support a limited number of concurrent dial ups, even though the total number of modems is greater. Other network access servers run fine for a week, only to spontaneously reboot, disconnecting all the users.
To ensure reliability of network access servers before the Internet service providers go on-line with real customers, the vendors of network access servers need some system and methodology to effectively test the access network components. Systems already exist for some low level aspects of the network, for example, electrical functions. Some manufacturers have load tested their own network elements by manually initiating calls and data communications from a plurality of PCs.
Such testing, however, is not scalable nor standardized, and it is difficult to test high stress conditions. For example, a vendor of a network access server capable of supporting twenty-four concurrent connections may only use twelve PCs with modems for testing, due to the limited number of testers and financial resources in the quality assurance department. Thus, the network access server can be tested for up to half the total theoretical number of concurrent dial ups, twenty-four. However, during actual operation, it is not uncommon for twenty-four customers to dial in at the same time.
For example, if the network access server reboots and disconnects connected users, those users typically attempt to reestablish their connections all at the same time. Therefore, conventional methods are unable to test likely usage patterns of network access servers.